package com.lumeng.spring.common.utils;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.stereotype.Component;

import java.util.Locale;

/**
 * @Description: 国际化工具类
 * @Author: liulili
 * @Date: 19:41 2019/12/6
 */
@Component
public class LocaleMessageSource {

    @Autowired
    private MessageSource messageSource;


    /**
     * @param code ：对应messages配置的key.
     * @return
     */
    public String getMessage(String code){
        return getMessage(code,null);
    }


    /**
     * @param code ：对应messages配置的key.
     * @param args : 数组参数.
     * @return
     */
    public String getMessage(String code,Object[] args){
        return getMessage(code, args,"");
    }

    /**
     * @param code ：对应messages配置的key.
     * @param args : 数组参数.
     * @param defaultMessage : 没有设置key的时候的默认值.
     * @return
     */
    public String getMessage(String code,Object[] args,String defaultMessage){
//        Locale locale = LocaleContextHolder.getLocale();
        // 暂时只使用中文，以后真的要做国际化的时候在根据前端发送的请求，做国际化
        return messageSource.getMessage(code, args, defaultMessage, Locale.CHINA);
    }

}
